﻿using System;
using System.Text;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
@TestRunner.Imports


namespace @Test.Namespace
{
	
	public partial class @Test.ClassName
	{

        @Tag("IComparable")
    	@TestAttribute
        public void @(Test.ClassName + "_IComparableT")()
		{
			var values = CreateOrderedSet();
			var item1 = (IComparable<@Class.FullName>)values.Item1;
			var item2 = (IComparable<@Class.FullName>)values.Item2;
			var item3 = (IComparable<@Class.FullName>)values.Item3;
			var item4 = (IComparable<@Class.FullName>)values.Item4;

@{
    if (Class.IsNullable)
    { 	
	<text>
			@Assert.IsTrue("item1.CompareTo((" + Class.FullName + ")null) > 0");
			@Assert.IsTrue("item2.CompareTo((" + Class.FullName + ")null) > 0");
			@Assert.IsTrue("item3.CompareTo((" + Class.FullName + ")null) > 0");
			@Assert.IsTrue("item4.CompareTo((" + Class.FullName + ")null) > 0");
	</text>
    }
}										  
			@Assert.IsTrue("item1.CompareTo((" + Class.FullName + ")item1) == 0");
			@Assert.IsTrue("item1.CompareTo((" + Class.FullName + ")item2) < 0");
			@Assert.IsTrue("item1.CompareTo((" + Class.FullName + ")item3) < 0");
			@Assert.IsTrue("item1.CompareTo((" + Class.FullName + ")item4) < 0");
		  
			@Assert.IsTrue("item2.CompareTo((" + Class.FullName + ")item1) > 0");
			@Assert.IsTrue("item2.CompareTo((" + Class.FullName + ")item2) == 0");
			@Assert.IsTrue("item2.CompareTo((" + Class.FullName + ")item3) < 0");
			@Assert.IsTrue("item2.CompareTo((" + Class.FullName + ")item4) < 0");

			@Assert.IsTrue("item3.CompareTo((" + Class.FullName + ")item1) > 0");
			@Assert.IsTrue("item3.CompareTo((" + Class.FullName + ")item2) > 0");
			@Assert.IsTrue("item3.CompareTo((" + Class.FullName + ")item3) == 0");
			@Assert.IsTrue("item3.CompareTo((" + Class.FullName + ")item4) == 0");

			@Assert.IsTrue("item4.CompareTo((" + Class.FullName + ")item1) > 0");
			@Assert.IsTrue("item4.CompareTo((" + Class.FullName + ")item2) > 0");
			@Assert.IsTrue("item4.CompareTo((" + Class.FullName + ")item3) == 0");
			@Assert.IsTrue("item4.CompareTo((" + Class.FullName + ")item4) == 0");

		}
	}
}

